﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Text_Adventures
{
    public class Hero : BaseCreature
    {
        public Hero(string name)
        {
            this.Name = name;
                 
        }



        public void GenerateHeroAtributes()
        {
            Console.WriteLine("Você irá rolar agora 4 dados D20(Min 8). Após isso, irá destribuir conforme sua escolha de classe.\n");
            Console.WriteLine("Força : Aumenta seu ataque,\nAgilidade aumenta sua esquiva e chance de crítico,\nInteligencia aumenta sua mana e poder de ataque,\nVitalidade aumenta sua vida");

            int r1, r2, r3, r4;
            string opt = "";
            r1 = rand.Next(8, 21);
            r2 = rand.Next(8, 21);
            r3 = rand.Next(8, 21);
            r4 = rand.Next(8, 21);
            List<int> dices = new List<int>();
            int[] dice = { r1, r2, r3, r4 };
            dices.AddRange(dice);

            while (true)
            {
                Console.WriteLine("\nD1: {0} D2: {1} D3: {2} D4: {3}\n", r1, r2, r3, r4);
                Console.WriteLine("Digite dentro das opções qual a classe escolhida : ");
                Console.WriteLine("1 - Guerreiro | 2 - Ninja | 3 - Mago");
                opt = Console.ReadLine();

                if (opt == "1")
                {
                    dices.Sort();
                    Str = dices[3];
                    Vit = dices[2];
                    Agi = dices[1];
                    Int = dices[0];
                    break;
                }
                else if (opt == "2")
                {
                    dices.Sort();
                    Agi = dices[3];
                    Vit = dices[2];
                    Str = dices[1];
                    Int = dices[0];                    
                    break;
                }
                else if (opt == "3")
                {
                    dices.Sort();
                    Int = dices[3];
                    Vit = dices[2];
                    Agi = dices[1];                    
                    Str = dices[0];
                    break;
                }
                
            }
            HP = rand.Next(8, 20 + ((Vit - 10) / 2));
            CHP = HP;
            MP = rand.Next(8, 20 + ((Int - 10) / 2));
            CMP = MP;
            Def = 0;
            Eva = (rand.Next(50, 100) + ((Agi - 10) / 2) * 10) / 10;
            Eva = Eva > 100 ? 100 : Eva;
            Acc = (70 + ((Agi - 10) / 2) * 10);
            Acc = Acc > 100 ? 100 : Acc;
            Money = 0;
            Level = 1;  
            Console.Clear();
        }
    }
}
